package 对象序列化流;

import java.io.*;
//如果读取对象出问题了 给对象所属的类加一个 private static final long serialVersionUID=42l
//如果一个类的属性不想被实例化 给这个变量加上transient 修饰,不参与序列化
public class Test01 {
    public static void main(String[] args) throws IOException, ClassNotFoundException {
        ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("D:\\Idea\\对象序列化流\\oos.txt"));
        //创建对象
        Student s = new Student("林青霞",30);
        //将指定对象写入objectOutputStream
        //.NotSerializableException抛出一个对象实例需要一个Serializable接口,序列化运行时或实例的类可能抛出此异常,
        //不实现此接口额类将不会使任何状态序列化或者反序列化
        oos.writeObject(s);

        oos.close();

        //反序列化流
        ObjectInputStream ois = new ObjectInputStream(new FileInputStream("D:\\Idea\\对象序列化流\\oos.txt"));
        Object o = ois.readObject();
        Student st = (Student) o;
        System.out.println(st.getAge()+","+st.getName());
        ois.close();

    }
}
